home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / rbbs_pc / aed243a.zip / RSB2UTOG.MRG < prev    next >
Text File  |  1990-06-10  |  14KB  |  407 lines

  1. * ------------[ BLED merge (c) Ken Goosens ]-------------
  2. * Merge this against RBBSSUB2.BAS to produce RSB2UTOG.BAS
  3. * RBBSSUB2.BAS:  Date 5-26-1990  Size 135138 bytes
  4. * ------------[ Created 06-10-1990 01:58:18 ]------------
  5. * REPLACING old line(s) by new
  6. 109 '  $SUBTITLE: 'VarInit - subroutine to initialize system variables'
  7. '  $PAGE
  8. '
  9. '  NAME    --  VarInit
  10. '
  11. '  INPUTS  --  PARAMETER           MEANING
  12. '              NONE
  13. '
  14. '  OUTPUTS --  NONE
  15. '
  16. '  PURPOSE --  To initialize system variable
  17. '
  18.       SUB VarInit STATIC
  19.     ZAcknowledge$ = CHR$(6)
  20.     ZAckChar$ = "C" + _
  21.             ZAcknowledge$
  22. * ------[ first line different ]------
  23.     ZActiveMenu$ = "|"
  24.     ZActiveMessage$ = CHR$(225)
  25.     ZBackSpace$ = CHR$(8) + _
  26.                  CHR$(32) + _
  27.                  CHR$(8)
  28.     ZBackArrow$ = CHR$(29) + _
  29.                   CHR$(32) + _
  30.                   CHR$(29)
  31.     ZBaudRates$ = "      300  450 1200 2400 4800 96001920038400"
  32.     ZBellRinger$ = CHR$(7)
  33.     ZBulletinMenu$ = ""
  34.     ZWasCL = 24
  35.     ZCancel$ = CHR$(24)
  36.     ZColorReset$ = CHR$(27) + _
  37.                    "[00;37;40m"
  38.     ZConfigFileName$ = "RBBS-PC.DEF"
  39.     ZCarriageReturn$ = CHR$(13)
  40.     ZDeletedMsg$ = CHR$(226)
  41.     ZDosVersion = 2
  42.     ZEndTransmission$ = CHR$(4)
  43.     ZEscape$ = CHR$(27)
  44.     ZExpectActiveModem = 0
  45.     ZFalse = 0
  46.     ZF1Key = 59
  47.     ZF10Key = 68
  48.     ZConfName$ = "MAIN"
  49.     CALL SetHiLite (ZTrue)
  50.     ZHomeConf$ = ""
  51.     ZInConfMenu = -1
  52.     ZLastCommand$ = "M "
  53.     ZLimitMinsPerSession = 0
  54.     ZLineFeed$ = CHR$(10)
  55.     ZLineFeeds = NOT ZFalse
  56.     ZLineEditChk$ = CHR$(9) + _
  57.                     ZLineFeed$ + _
  58.                     CHR$(11) + _
  59.                     CHR$(12) + _
  60.                     CHR$(127) + _
  61.                     CHR$(8) + _
  62.                     ZBellRinger$ + _
  63.                     CHR$(26) + _
  64.                     CHR$(227)
  65.     ZLineMes$ = SPACE$(78)          ' fixed length string workspace
  66.     ZLockStatus$ = "UM UU UB UD"
  67.     ZMenuIndex = 2
  68.     ZNAK$ = CHR$(21)
  69.     ZNoAdvance = ZFalse
  70.     ZPageLength = 23
  71.     ZParseOff = ZFalse
  72.     ZPressEnter$ = " (Press [ENTER] to quit)"
  73.     ZPressEnterExpert$ = " ([ENTER] quits)"
  74.     ZPressEnterNovice$ = ZPressEnter$
  75.     ZPrivateDoor = ZFalse
  76.     ZRightMargin = 72
  77.     ZReturnLineFeed$ = ZCarriageReturn$ + _
  78.                         ZLineFeed$
  79.     ZSmartTable$ = "CS PB NS FN LN SL DT TM TR TE TL RP RR CT " + _
  80.                    "C1 C2 C3 C4 C0 DD BD DB UB DL UL FI VY VN " + _
  81.                    "TY TN BN ND FS LS"
  82.     ZStartOfHeader$ = CHR$(1)
  83.     ZTimeLoggedOn$ = SPACE$(8)
  84.     ZTrue = NOT ZFalse
  85.     ZUpInc = -1
  86.     ZXOff$ = CHR$(19)
  87.     ZXOn$ = CHR$(17)
  88.     ZInterrupOn$ = CHR$(11) + ZCancel$ + ZXOff$ + ZXOn$ + ZCarriageReturn$
  89.     ZOptionEnd$ = ZReturnLineFeed$ + " ,("
  90.     ZCrLf$ = ZCarriageReturn$ + ZLineFeed$
  91.     ZWasLG$(1) = "Registration Check Failed"
  92.     ZWasLG$(2) = "Sysop name attempted"
  93.     ZWasLG$(3) = "Locked out attempt"
  94.     ZWasLG$(4) = "Password Attempt Failed"
  95.     ZWasLG$(5) = "Auto Lockout done"
  96.     ZWasLG$(6) = "Name in use on another Node!"
  97.     ZWasLG$(7) = ""
  98.     ZWasLG$(8) = "Locked reason read!"
  99.     ZWasLG$(9) = "Expired Registration"
  100.     END SUB
  101. '
  102. * REPLACING old line(s) by new
  103. 1331 IF SotMenu THEN _
  104.         ZFileName$ = HelpMenu$ : _
  105.         GOSUB 1350 : _
  106.         SotMenu = ZFalse
  107.      ZAnsIndex = 1
  108. * ------[ first line different ]------
  109.      ZOutTxt$ = "Help with what Command (or Topic name)" + _
  110.           ZPressEnterExpert$
  111.      ZSubParm = 1
  112.      CALL TGet
  113.      IF ZSubParm = -1 THEN _
  114.         EXIT SUB
  115.      IF ZWasQ = 0 THEN _
  116.         EXIT SUB
  117.      ZLastIndex = ZWasQ
  118. * REPLACING old line(s) by new
  119. 1525 CALL Carrier
  120.      IF ZSubParm = -1 THEN _
  121.         EXIT SUB
  122.      IF LEN(ZCommPortStack$) > 0 THEN _
  123.         InStack = ZTrue : _
  124.         WasX = INSTR(ZCommPortStack$,ZCarriageReturn$) : _
  125.         IF WasX > 0 THEN _
  126.            ZOutTxt$ = LEFT$(ZCommPortStack$,WasX-1) : _
  127. * ------[ first line different ]------
  128.            ZWasX$ = ZCarriageReturn$ : _
  129.            ZCommPortStack$ = RIGHT$(ZCommPortStack$,LEN(ZCommPortStack$)-WasX) : _
  130.            GOTO 1534 _
  131.         ELSE ZWasY$ = LEFT$(ZCommPortStack$,1) : _
  132.              ZCommPortStack$ = RIGHT$(ZCommPortStack$,LEN(ZCommPortStack$)-1) : _
  133.              GOTO 1541
  134.      IF (ZForceKeyboard OR (NOT ZMacroActive) OR (ZMacroSave > 0)) THEN _
  135.         GOTO 1536
  136. '
  137. ' *** MACRO PROCESSING
  138. '
  139. * REPLACING old line(s) by new
  140. 1537 CALL CheckTime(ZAutoLogoff!, TempElapsed!, 3)
  141.      IF TempElapsed! < 30 THEN _
  142.         IF TempElapsed! <= 0 THEN _
  143.            CALL UpdtCalr ("Sleep disconnect",1) : _
  144.            ZSubParm = -1 : _
  145.            ZNo = ZTrue : _
  146.            ZSleepDisconnect = ZTrue : _
  147.            EXIT SUB _
  148.         ELSE IF SleepWarn THEN _
  149.                 SleepWarn = ZFalse : _
  150. * ------[ first line different ]------
  151.                 ZOutTxt$ = "Logging you off in 30 seconds..." : _
  152.                 CALL RingCaller
  153.      CALL FindFKey
  154.      IF ZSubParm < 0 THEN _
  155.         EXIT SUB
  156. * REPLACING old line(s) by new
  157. 1625 IF LEN(ZUserIn$) < 4 THEN _
  158.         WasX$ = LEFT$(ZUserIn$,3): _
  159.         CALL AllCaps (WasX$) : _
  160.         IF WasX$ = "Y" OR WasX$ = "YES" THEN _
  161.            ZYes = ZTrue _
  162.         ELSE IF WasX$ = "N" OR WasX$ = "NO" OR WasX$ = "A" THEN _
  163.                 ZNo = ZTrue _
  164.              ELSE IF WasX$ = "RE" THEN _
  165.                      ZReply = ZTrue : _
  166.                      GOTO 1628 _
  167.                   ELSE IF WasX$ = "K" THEN _
  168.                           ZKillMessage = ZTrue : _
  169.                           GOTO 1628
  170.      ZHidden = ZFalse
  171. * ------[ first line different ]------
  172.      ZWasX$ = ""
  173. * REPLACING old line(s) by new
  174. 2020 IF MsgTo$ <> "" THEN _
  175.         GOTO 2032
  176. * ------[ first line different ]------
  177.      ZOutTxt$ = "To [A]ll,S)ysop, or Name"
  178.      CALL SkipLine (1)
  179.      ZParseOff = ZTrue
  180.      GOSUB 2033
  181.      IF LEN(ZUserIn$) > 30 THEN _
  182.         CALL QuickTPut1 ("30 Char. Max") : _
  183.         GOTO 2020
  184. * REPLACING old line(s) by new
  185. 2032 IF MsgTo$ <> "ALL" THEN _
  186.         IF (LEFT$(MsgTo$,4) <> "ALL " AND ZStartHash = 1) THEN _
  187.            TempHashValue$ = MsgTo$ : _
  188.            CALL WhoCheck (TempHashValue$,Found,RcvrRecNum) : _
  189.            IF NOT Found THEN _
  190.               ZLastIndex = 0 : _
  191.               IF NOT ZReply THEN _
  192.                  ZOutTxt$ = "[R]e-enter name, Q)uit, C)ontinue" : _
  193.                  ZTurboKey = -ZTurboKeyUser : _
  194.                  ZLastIndex = 0 : _
  195.                  GOSUB 2033 : _
  196.                  ZWasZ$ = ZUserIn$(1) : _
  197.                  CALL AllCaps (ZWasZ$) : _
  198.                  IF ZWasZ$ <> "C" THEN _
  199.                     MsgTo$ = "" : _
  200.                     IF ZWasZ$ <> "Q" THEN _
  201.                        GOTO 2020
  202.      IF MsgTo$ = Temp$ THEN _
  203. * ------[ first line different ]------
  204.         ZOutTxt$ = "Msg would be from and to same person!  Really do this (Y,[N])" : _
  205.         ZLastIndex = 0 : _
  206.         GOSUB 2033 : _
  207.         IF NOT ZYes THEN _
  208.            MsgTo$ = ""
  209.      EXIT SUB
  210. * REPLACING old line(s) by new
  211. 2075 IF MsgTo$ = "ALL" THEN _
  212. * ------[ first line different ]------
  213.         CALL QuickTPut1 ("Message to ALL can't be private") : _
  214.         GOTO 2060
  215.      IF ZWasZ$ = "P" THEN _
  216.         GOTO 2088
  217. * REPLACING old line(s) by new
  218. 2081 CALL QuickTPut1 ("Sending private mail to " + MsgTo$)
  219. * REPLACING old line(s) by new
  220. * ------[ first line different ]------
  221. 2088 ZOutTxt$ = "Receiver(s) MUST know password to read message.  Use password (Y/[N])"
  222.      GOSUB 2093
  223.      IF NOT ZYes THEN _
  224.         GOTO 2070
  225.      WasL = 14
  226.      WasA1$ = "!"
  227.      GOSUB 2085
  228.      CALL AllCaps (ZUserIn$)
  229.      GOTO 2092
  230. '
  231. ' ** MAKE MESSAGE KILL PROTECTED (ONLY SENDER, ADDRESSEE AND SYSOP CAN KILL) *
  232. '
  233. * REPLACING old line(s) by new
  234. 3955 IF WasQX > ActiveMessages THEN _
  235. * ------[ first line different ]------
  236.         ZOutTxt$ = "No such message #" + _
  237.              STR$(MsgToKill) : _
  238.         GOTO 4031
  239.      IF ZMsgPtr(WasQX,2) = MsgToKill AND MsgToKill => 1 THEN _
  240.         GOTO 3970
  241.      WasQX = WasQX + 1
  242.      GOTO 3955
  243. * REPLACING old line(s) by new
  244. * ------[ first line different ]------
  245. 4656 ZOutTxt$ = "Subject thread: +)forward, -)back, 1)from origin ([ENTER] quits)"
  246.      ZTurboKey = -ZTurboKeyUser
  247.      ZSubParm = 1
  248.      CALL TGet
  249.      IF ZWasQ = 0 OR ZSubParm = -1 THEN _
  250.         EXIT SUB
  251.      ZWasZ$ = ZUserIn$(1)
  252. * REPLACING old line(s) by new
  253. 4777 ZWasCM = 0
  254.      CALL CheckTime(TimeChatStarted!,Elapsed!, 2)
  255.      ZSecsPerSession! = ZSecsPerSession! + Elapsed!
  256.      IF NOT ZLocalUser THEN _
  257.         ZAutoLogoff! = TIMER + ZWaitBeforeDisconnect
  258. * ------[ first line different ]------
  259.      CALL SkipLine(1)
  260.      CALL QuickTPut("Chat ended.  Returning to normal operation",2)
  261.      END SUB
  262. * REPLACING old line(s) by new
  263. * ------[ first line different ]------
  264. 5202 ZOutTxt$ = "Change your page length from" + _
  265.           STR$(ZPageLength) + _
  266.           " to (0-255, 0 = Continuous)"
  267.      CALL PopCmdStack
  268.      IF ZWasQ = 0 OR ZSubParm = -1 THEN _
  269.         CALL QuickTPut1 ("No change") : _
  270.         EXIT SUB
  271. * REPLACING old line(s) by new
  272. 9600 ' $SUBTITLE: 'DefaultU - subroutine to update user defauts'
  273. ' $PAGE
  274. '
  275. '  NAME    -- DefaultU
  276. '
  277. '  INPUTS  --     PARAMETER                    MEANING
  278. '             ZAutoDownDesired
  279. '             ZBoldText$              Ansi bold (0 no, 1 yes)
  280. '             ZCheckBulletLogon
  281. '             ZExpertUser
  282. * ------[ first line different ]------
  283. '             ZFullScreenEditor
  284. '             ZWasGR
  285. '             ZLastMsgRead
  286. '             ZLineFeeds
  287. '             ZNulls
  288. '             ZPageLength
  289. '             ZPromptBell
  290. '             ZRegDate$
  291. '             ZReqQuesAnswered
  292. '             ZRightMargin
  293. '             ZSkipFilesLogon
  294. '             ZTimesLoggedOn
  295. '             ZUpperCase
  296. '             ZUserOption$
  297. '             ZUserTextColor          Ansi of color (31-37)
  298. '             ZUserXferDefault$
  299. '
  300. '  OUTPUTS--  USER.OPTONS$
  301. '
  302. '  PURPOSE --  To update the user's record with their options.
  303. '  Meaning of graphics preference stored is as follows: where # is
  304. '  value stored for the color.  E.g. if graphics perference for text
  305. '  files is color, and preference for normal text is light yellow,
  306. '  graphics preference stored is 38.  Colors are Red, Green, Yellow,
  307. '  Blue, Purple, Cyan, and White.
  308. '
  309. '             normal                  bold
  310. ' Graphics R  G  Y  B  P  C  W    R  G  Y  B  P  C  W
  311. '   none  30 33 36 39 42 45 48 | 51 54 57 60 63 66 69
  312. '   ansi  31 34 37 40 43 46 49 | 52 55 58 61 64 67 70
  313. '  color  32 35 38 41 44 47 50 | 53 56 59 62 65 68 71
  314. '
  315.      SUB DefaultU STATIC
  316.      ZWasA =    -ZPromptBell          -2 * ZExpertUser _
  317.             -4 * ZNulls               -8 * ZUpperCase _
  318.            -16 * ZLineFeeds          -32 * ZCheckBulletLogon _
  319.            -64 * ZSkipFilesLogon    -128 * ZAutoDownDesired _
  320.           -256 * ZReqQuesAnswered   -512 * ZMailWaiting _
  321.          -1024 * (NOT ZHiLiteOff)  -2048 * ZTurboKeyUser _
  322.          -4096 * ZFullScreenEditor
  323.      WasX = 3*ZUserTextColor - 63 + 21*VAL(ZBoldText$) + ZWasGR
  324.      IF WasX < 1 OR WasX > 255 THEN _
  325.         WasX = 48
  326.      LSET ZUserOption$ = _
  327.         MKI$(ZTimesLoggedOn) + _
  328.         MKI$(ZLastMsgRead) + _
  329.         ZUserXferDefault$ + _
  330.         CHR$(WasX) + _
  331.         MKI$(ZRightMargin) + _
  332.         MKI$(ZWasA) + _
  333.         ZRegDate$ + _
  334.         CHR$(ZPageLength) + _
  335.         ZEchoer$
  336.      END SUB
  337. * REPLACING old line(s) by new
  338. 10607 IF ZExitToDoors OR NOT LoggingOff THEN _
  339.          EXIT SUB
  340.       Temp = ZMinsPerSession
  341.       IF ZMaxPerDay > 0 THEN _
  342.          Temp = ZMaxPerDay - TempElapsed! : _
  343.          IF Temp > ZMinsPerSession THEN _
  344.             Temp = ZMinsPerSession
  345.       Temp = -(Temp > 0) * Temp
  346. * ------[ first line different ]------
  347.       CALL SkipLine(1)
  348.       CALL QuickTPut1 (MID$(STR$(Temp),2) + " minute(s) left for another call today.")
  349.       ZOutTxt$ = ZFirstName$
  350.       CALL NameCaps(ZOutTxt$)
  351.       CALL QuickTPut1 (ZOutTxt$ + ", thanks and please call again!")
  352.       IF NOT ZHiLiteOff THEN _
  353.          CALL QuickTPut1 (ZColorReset$)
  354.       CALL DelayTime (8 + ZBPS)
  355.       END SUB
  356. * REPLACING old line(s) by new
  357. 10989 IF ZTransferFunction = 3 THEN _
  358.          ZWasY$ = "Registration" _
  359.       ELSE ZWasY$ = ZDooredTo$
  360. * ------[ first line different ]------
  361. '     ZOutTxt$ = ZWasY$ + _
  362. '          " door opened at " + _
  363. '          TIME$ + _
  364. '          " on " + _
  365. '          DATE$
  366.       CALL QuickTPut1("Loading DOOR.  Please wait...")
  367.       CALL UpdtCalr (ZDooredTo$ + " door opened!",2)
  368.       CLOSE 2
  369.       OPEN "O",2,"DORINFO" + _
  370.                  ZNodeFileID$ + _
  371.                  ".DEF"
  372.       PRINT #2,ZRBBSName$
  373.       PRINT #2,ZSysopFirstName$
  374.       PRINT #2,ZSysopLastName$
  375.       IF ZLocalUser THEN _
  376.          PRINT #2,"COM0" _
  377.       ELSE PRINT #2,ZComPort$
  378.       ZUserIn$ = MID$(ZBaudParity$,INSTR(ZBaudParity$," B"))
  379.       PRINT #2,ZTalkToModemAt$;ZUserIn$
  380.       PRINT #2,ZNetworkType
  381.       IF ZGlobalSysop THEN _
  382.          PRINT #2,"SYSOP" : _
  383.          PRINT #2,"" _
  384.       ELSE PRINT #2,ZFirstName$ : _
  385.            PRINT #2,ZLastName$
  386.       PRINT #2,ZCityState$
  387.       PRINT #2,ZWasGR
  388.       PRINT #2,ZUserSecLevel
  389.       CALL TimeRemain (MinsRemaining)
  390.       CALL CheckInt (DoorTime$)
  391.       IF ZErrCode = 0 AND ZTestedIntValue > 0 THEN _
  392.          IF MinsRemaining > ZTestedIntValue THEN _
  393.             MinsRemaining = ZTestedIntValue
  394.       PRINT #2,INT(MinsRemaining)
  395.       PRINT #2,ZFossil
  396.       IF ExitMethod$ = "S" THEN _
  397.          CALL ShellExit (ExitTemplate$) : _
  398.          ZExitToDoors = ZTrue : _
  399.          CALL BufFile (ZDoorDisplay$,WasX) : _
  400.          CALL DoorReturn _
  401.       ELSE ZOutTxt$(1) = ZDiskForDos$ + _
  402.                   "COMMAND /C " + _
  403.                   ExitTo$ : _
  404.            ZOutTxt$(2) = ZRBBSBat$ : _
  405.            CALL RBBSExit (ZOutTxt$(),2)
  406.       END SUB
  407.